package Jvm;

import java.util.ArrayList;
import java.util.List;

public class HeapSpaceErrorGenerator {

    public static void main(String[] args) {
        // 第⼀步，创建⼀个⼤的容器
        List<byte[]> bigObjects = new ArrayList<>();
        try {
        // 第⼆步，循环写⼊数据
            while (true) {
        // 第三步，创建⼀个⼤对象，⼀个⼤约 10M 的数组
                byte[] bigObject = new byte[10 * 1024 * 1024];
        // 第四步，将⼤对象添加到容器中
                bigObjects.add(bigObject);
            }
        } catch (OutOfMemoryError e) {
            System.out.println("OutOfMemoryError 发⽣在 " + bigObjects.size() + " 对象后");
            throw e;
        }
    }
}
